˵е,µŵһsocat.
쿴һ,netcat(nc)ⶫmsѾNûά.иnc110Ķ,̫ռ, ǶȥĶĹ.¶ûκνεRHEL5Ҳnc110ĳ.֧һnetcat,googleֱnetcat׳,Ҳöû˶ˡЩ,ʹsocatӦ˶.ȻѾ˺ö,Ҳʶ
socatԼnetcatõ÷,Ա:
1. tcp 12345˿
# nc -l 127.0.0.1 12345
# socat tcp-listen:12345 -
2. Զtcp 12345˿ڷ
# echo test | nc 127.0.0.1 12345
# echo test | socat - tcp-connect:127.0.0.1:12345
3. udp 23456˿
# nc -u -l 127.0.0.1 23456
# socat udp-listen:23456 -
4. Զudp 23456˿ڷ
# echo test | nc -u 127.0.0.1 23456
# echo test | socat - udp-connect:127.0.0.1:23456
5. unix socket /tmp/unix.socket
# nc -U -l /tmp/unix.socket
netcatû-Uѡ
# socat unix-listen:/tmp/unix.socket -
6. 򱾵unix socket /tmp/unix.socket
# echo test | nc -U /tmp/unix.socket
netcatû-Uѡ
# echo test | socat - unix-connect:/tmp/unix.sock
7. unix datagram socket /tmp/unix.dg.sock
nc110㲻,netcatҲ㲻
# socat unix-recvfrom:/tmp/unix.dg.sock -
8. 򱾵unix datagram socket /dev/log
nc110㲻,netcatҲ㲻
# echo test | socat - unix-sendto:/tmp/unix.dg.sock



ڶƪһˣ
linuxʵUDP˿ӳ
ԭӣ http://www.hiadmin.com/?tag=socat

һʵ
snmp˿ĬΪUPD 161ط޷ֱӷʱҪõ˿ӳ
ͬ⻹dnsUPD 53˿ڡ
ʹncӳUPD˿
豻طIPΪ192.168.1.1ڶ˿ӳΪĳIP59.1.1.1ҪӳĶ˿ΪUDP 161ת˿Ϊ1161Զ彨1024϶˿ڣ
ڶ˿ӳϲҪװncһϵͳᰲװ
עncڰȫ©һҪ趨ǽ
ʹmkfifoܵļ
#mkfifo /tmp/snmpfifo
ͨnc˿ӳ -lΪģʽ -uΪUDP -pΪض˿ڣ161˿ӳ䵽ص1161˿ϣ
#nc -l -u -p 1161 < /tmp/snmpfifo | nc -u 192.168.1.1 161 > /tmp/snmpfifo
鿴netstat 1161Ƿ
#netstat -nlp |grep :1161
udp     0      0 0.0.0.0:1161       0.0.0.0:*          31472/nc

ڼطϽвǷܲɼݣ
IF-MIB::ifIndex.1 = INTEGER: 1
IF-MIB::ifIndex.2 = INTEGER: 2
IF-MIB::ifIndex.3 = INTEGER: 3
IF-MIB::ifIndex.4 = INTEGER: 4
IF-MIB::ifDescr.1 = STRING: lo
IF-MIB::ifDescr.2 = STRING: eth0
....
#snmpwalk -c public -v2c 59.1.1.1:1161 if

趨ɹһncĶ˿ÿһӾͻ𣬲ȡһȽϱİ취дrestart.shűcrontabÿִһΣ
Ҫԭ潲socatʱģ
snmpɼû⣬dnsͲ
nc汾socatʵUDP˿ӳ
صַhttp://www.dest-unreach.org/socat/download/
װ޷Ǿconfigure make make install
socatҪص֮佨֧ͨڶЭӷʽip, tcp, udp, ipv6, pipe,exec,system,open,proxy,openssl,socket
ﲻһһ
ȤԲ鿴ٷĵhttp://www.dest-unreach.org/socat/doc/socat.html
˵˵ʹsocatUPD˿ӳ
#socat udp4-listen:11161,reuseaddr,fork UDP:[طIP]:161
udp4-listenڱؽһudp ipv4Эļ˿ڣ
reuseaddr󶨱һ˿ڣ
fork趨ģʽһӱԶһͬĶ˿ٽм

עncΪȱforkģʽÿμֻܴһӡ
socatһǿϣⷽͬһѧϰõĹߣ
psncʽsocatʽģʽǰռһshellںִ̨лʹscreenߵȵȣ




socatٷĵhttp://www.dest-unreach.org/socat/doc/socat.html

-------------------

    socatһnetcat(nc)aƷԷQnc++socatcڃɂ֮gһpͨsocatĵַͺ ࣬ip, tcp, udp, ipv6, pipe,exec,system,open,proxy,openssl,ȵȡһӣ

    c:\>socat - tcp:192.168.1.18:80

    @ͬ nc 192.168.1.18 80 socate棬ЃɂԵһ-˜ʵݔݔڶBӵ192.168.1.1880˿ڡٿһtelnetӣ

    on server:
    c:\>socat tcp-listen:23 exec:cmd,pty,stderr

    @cmd˿23ͬrcmdStderrضstdout

    on client:
    c:\>socat readline tcp:server:23

    Bӵ23˿ڣɫ@һcmd shellreadlinegnuо݋Кvʷܡ

    ٿļfӡncҲÁfļncһȱcǲ֪ļʲNrˣһҪCtrl+cKֹ߹Ӌһrg-w׌ԄӽKֹsocatͲ@N韩ˣ

    on host 1:
    c:\>socat -u open:myfile.exe,binary tcp-listen:999

    on host 2:
    c:\>socat -u tcp:host1:999 open:myfile.exe,create,binary

    @ļmyfile.exeöMƵķʽhost 1 host 2-u ʾӣĵһڶ-UʾĵڶһļˣԄ˳

    فһϲgõӡһNAThΏⲿBӵȲһ˿أֻҪ܉ڃȲ\socatͿˡ

    ⲿ
    c:\>socat tcp-listen:1234 tcp-listen:3389

    Ȳ
    c:\>socat tcp:outerhost:1234 tcp:192.168.12.34:3389

    @ӣⲿCϵ3389ӰڃȲW192.168.12.343389˿ϡ

    socat߀һصxܣ磺

    c:\>socat open:read.txt!!open:write.txt,create,append tcp-listen:80,reuseaddr,fork

    @Fһٵweb server͑B^֮ᣬͰread.txteăݰl^ȥͬrѿ͑Ĕ浽write.txte档̖Ñρxǰx춌

